home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
326-350
/
disk_326
/
dispmod
/
docs
/
dispmod.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
6KB
|
146 lines
DispMod is one of the series of ROBBS modules. ROBBS stands for
Rexx Object Building Block System
--------------------------------------------------------------------
All parts of this distribution are Copyright Larry Phillips 1988,
1989, and 1990. All rights reserved.
You may distribute DispMod sources, executables, documentation,
and ARexx examples and utilities via online systems, including BBS
systems and commercial telecommunication services, including, but
not limited to Compuserve, Bix, People Link, and GEnie, provided no
specific charge is made for this distribution, other than normal
connect charges. It may be distributed by User Groups and 'freely
distributable disk collections', exemplified by the Fred Fish disks.
(Thanks Fred!)
You may not sell any part of this distribution.
If you wish to provide all or part of DispMod in any commercial
product, please contact the author for permission.
--------------------------------------------------------------------
See the accompanying file 'ROBBS.doc' for a discussion of the ROBBS
system of application building.
DispMod is a display module that only understands ARexx messages.
It allows, under program control (ARexx programs or binary executables),
the display of text and the acceptance of keyboard data.
It is very limited at this time, because it was intended as part of a
series of articles in Transactor for the Amiga, and was kept simple, in the
hope that those who like the concept would undertake to make their own
improvements. It opens a full 320*200, borderless window on the WorkBench
screen, and awaits ARexx messages.
Please refer to the following summary, the accompanying detailed command
documentation, and the example script (data_entry.rexx) for programming
information.
------------------------------------------------------------------
Command Purpose Arguments
------------------------------------------------------------------
TEXT Place characters on the display STRING
LTEXT TEXT, with appended linefeed STRING
HTEXT Highlighted text (different colour) STRING
LHTEXT HTEXT with appended linefeed STRING
CRSR Position the cursor on display <row, column>
GETLINE Get a line of text from the keyboard [STRING]
TITLE Place a title on the window. STRING
STATUS Return info about display -NONE-
CONNECT Attach attach keyboard to port PORTNAME COMMAND
CTRL Attach display to a control port PORTNAME
DIE Unload display module -NONE-
REALLY_DIE Special - see note below
----------------------------------------------------------------------
STATUS -- returned from display module as a single string in RESULT
Connected port name - where keyboard data will go.
Control port name - where all other messages are sent
Window - address of display window
Console write - address of display console write IO struct
See the STATUS documentation for more details.
*********************************************************************/
REALLY_DIE:
This command is only recognized after the DIE command has been
issued. Its purpose is to save the day when, due to some programming
error in the script or another program, one or more messages from the
display has not been replied to. In this case, it is necessary either
to await the reply (or replies) before exiting. If you know that the
replies will never come, you can issue the REALLY_DIE command to the
display, and it will exit.
You will know when you need to issue this command because the display
window will not go away when you think it should, and the CLI you
started the script from will have a message telling you that there
are outstanding commands. Upon receiving the REALLY_DIE command, dispmod
will assume you know what you are doing, and will free up the outstanding
messages.
*************************************************************************
The display module will open a port called 'ROBBS_disp', to which all
commands must be sent. This can be accomplished in the normal ARexx
manner by using the ADDRESS command in its various forms.
By default, the display module will send all 'CTRL' messages to a port
called 'ROBBS_ctrl', which must be opened in the ARexx script that
controls the display. If you wish to have another port used as the
controlling port, you must use the 'CTRL <portname>' command.
Please feel free to ask any questions, and to make any suggestions.
The following are some possible enhancements to dispmod you might want to try
if you are a programmer.:
The ability of DispMod to run in multiple incarnations. In particular,
the public ports need to have unique names.
Commands to allow easy text manipulation, such as erase to EOL,
erase to EOS, colour control, etc.
The ability to specify numeric fields, aplhanumeric fields, and
fields that only accept an arbitrarily limited set of characters under
program control.
Protected fields. These fields could not be typed into, which would
make it easier to create forms for data entry.
***********************************************************************
Contents of distribution:
Docs (dir)
CONNECT.doc CRSR.doc
CTRL.doc DIE.doc
DispMod.doc GETLINE.doc
STATUS.doc TEXT.doc
TITLE.doc
source (dir)
cli_parse.c consoleio.c
consoleio.h defs.h
dispmod.c Glue.asm
makefile rexxglue.o
wb_parse.c
rexx (dir)
data_entry.rexx killdisp.rexx
killrobbs.rexx
dispmod
***********************************************************************
Enjoy!
- larry